Genesis 3D |
||
per collaborazioni, commenti, critiche, e altro contattateci alla e-mail: clubinfo@libero.it risponderemo al pių presto! |
Nona
lezione
Per commentare, dare suggerimenti
o consigli (molto apprezzati) e per segnalare eventuali errori o
disattenzioni (sempre possibili), puoi inviare una email all'autore (clicca
sul nome sopra). Grazie per la collaborazione!
Discutiamo in questo tutorial alcuni metodi per il controllo dell'animazione:
Il controllo esplicito è il metodo più diretto per creare una
animazione. L'animatore ha il controllo totale di ciò che succede nella
scena. Deve occuparsi di specificare tutte le trasformazioni di traslazione,
rotazione e scala, deve occuparsi di creare i keyframe e di calcolare i tempi
corretti e specificare il tipo di interpolazione che si vuole usare tra due
keyframe.
Si tratta del tipo di controllo dell'animazione base di tutti i sistemi e
può diventare ingestibile all'aumentare della complessità dell'animazione
stessa. La maggiore difficoltà sta infatti nel valutare l'animazione
di più oggetti che interagiscono. Si pensi all'animazione di una figura
umana. Quando un uomo solleva un braccio, tale movimento non è unico,
ma è la collaborazione di una serie di sotto-movimenti (spalla, braccio,
avambraccio, mano, dita).
3D studio MAX offre degli strumenti per agevolare il lavoro nel caso si decida
di lavorare a questo livello di animazione. Infatti è possibile definire
dei percorsi spline per gli oggetti, i quali durante l'animazione ne seguono
l'andamento.
Genesis permette di importare da MAX tali percorsi e di utilizzarli all'interno
dell'engine.
Il controllo procedurale è analogo al modello procedurale. Si tratta
di un'animazione definita mediante un vero e proprio sottoprogramma; quando
si deve definire la matrice di trasformazione corrente per un oggetto si interpella
tale sottoprogramma che effettua i calcoli per determinarla. Con questa tecnica
si può realmente gestire qualunque tipo di animazione, ma il problema
principale è che l'animatore deve essere anche un discreto programmatore.
Il controllo procedurale è sostanzialmente quello che si ha quando
si muove interattivamente una telecamera in un ambiente. E' l'utente, mediante
la tastiera e il mouse a determinare la successiva posizione della telecamera.
Naturalmente questo non è l'unico caso MAX offre tale possibilità
(animazione con espressioni) e permette di ottenere effetti di incredibile
realismo all'animazione. Ed esempio per una macchina che si muove lungo un
percorso è possibile calcolare l'esatta velocità di rotazione
delle gomme e il controllo della rotazione delle stesse in corrispondenza
alle curve. Il bello è che al variare del percorso l'animazione non
dovrà essere modificata dall'utente, ma si adatterà automaticamente
al cambiamento.
L'uso degli attori rappresenta un approccio ad alto livello del tipo di controllo procedurale. L'attore è un piccolo programma invocato ad ogni frame per determinare il comportamento di una serie di oggetti nell'animazione. L'accostamento tra attore e oggetto, nel senso della programmazione OO non è casuale, infatti un actor gestisce "da solo" la propria animazione secondo il copione prestabilito.
Genesis fa un grande uso di actors. Queste entità sono state introdotte
principalmente per fornire uno strumento di animazione complesso adatto, ad
esempio, all'animazione di personaggi.
Genesis offre due approcci all'uso degli actor. Il controllo diretto e il
copione (cuing). Il primo metodo consiste nel gestire in modo diretto il controllo
dello scheletro dell'actor. Il secondo metodo permette di gestire l'animazione
come "predefinita" mediante un copione. E' un metodo per ottenere
risultati di notevole impatto, infatti mediante strumenti ad altissimo livello
si studiano le animazioni relative delle singole parti, fino ad ottenere il
risultato desiderato e poi si chiede all'actor stesso di gestire la propria
animazione, fornendo solo un parametro temporale come ingresso.
I due tipi di animazione possono comunque essere combinati molto semplicemente. E' il caso dei movimenti come "cammina". Per ricreare l'animazione di camminata di un personaggio si procede come segue:
Si può notare come l'uso di actor permette in modo piuttosto semplice di creare animazioni di grande impatto.
Cinematica è un termine usato per indicare il controllo della posizione e della velocità dei punti. Una descrizione cinematica ad esempio potrebbe essere: il cubo si trova nell'origine al tempo 0 e si muove con accelerazione costante nella direzione (1,1,1).
Abbiamo visto come fa genesis a gestire animazioni complesse, ma come vengono implementate?
Una regola della cinematica è che quando gli oggetti sono organizzati
in gerarchie, gli oggetti derivati condividono le trasformazioni degli oggetti
principali. Nell'animazione del passo, quando si alza la coscia, anche polpaccio
e piede vengono sollevati per simulare il fatto che essi sono vincolati da
delle giunture.
Se invece si ruota il piede, la gamba non risentirà di tale trasformazione.
Per animare un passo quindi si devono effettuare le trasformazioni dall'inizio
della catena verso la fine: prima si solleva la coscia, quindi si abbassa
il polpaccio e infine si regola anche il piede.
Questo tipo di controllo dell'animazione viene chiamato cinematica diretta. Un altro genere di controllo è quello della cinematica inversa. Si tratta di una caratteristica estremamente utile per l'animazione di movimenti complessi. Facendo riferimento all'esempio precedente, sollevando il piede la cinematica inversa calcola anche le trasformazioni da applicare a polpaccio e coscia in modo da mantenere invariate le giunture.
3D Studio MAX offre un grande controllo sulla cinematica inversa. Esistono tre categorie di cinematica inversa: quella interattiva, quella applicata e quella mediante ossatura. E' possibile definire nodi di terminazione, i quali indicano a MAX di interrompere la propagazione del movimento generato al di sotto nella catena. Ad esempio muovendo la coscia è opportuno che l'anca non si muova di conseguenza.
__ __
In questo esempio muovendo soltanto la giunzione relativa al polpaccio si vede come anche la coscia e il piede si muovono di conseguenza per mantenere invariate le proporzioni tra le varie parti.
E' possibile impostare dei parametri per i giunti di rotazione, ad esempio per imporre dei vincoli: nell'animazione del passo il piegamento della gamba deve avvenire in modo da non piegare il ginocchio dalla parte sbagliata.
Track Editor
Uno strumento molto potente per gestire le animazioni, qualunque genere di controllo si stia utilizzando è l'editor delle tracce; tale strumento è fornito da 3d Studio MAX e rappresenta il metodo più professionale di lavorare con le animazioni.
Il track editor permette di lavorare con le curve funzione, concetto di fondamentale
importanza per l'animatore 3D. Una curva funzione descrive il modo in cui
un parametro si modifica nel tempo (sia esso una posizione, una rotazione,
un colore, l'intensità di una luce, ecc...)
L'editor delle tracce consente di intendere l'animazione come una continua
modifica e non come un semplice collegamento di pose ferme. Le chiavi (punti
neri) vengono unicamente usate per creare e modificare la curva.
Lavorando con le curve funzione è più facile gestire elementi come velocità e accelerazione del movimento di un punto.